package br.org.reconcavotecnologia.update19.registro.engine;

import java.util.ArrayList;
import java.util.List;

/** 
 * Representa uma ação. Possui um tipo e uma lista genérica de parametros.
 * 
 * @see {@link MaquinaAcao}

 * @author Cássio Oliveira 
 */
public class Acao {

	/** Representa a lista de parametros */
	private List<Object> listaParametro;
	
	/** Representa o tipo da ação */
	private int tipoAcao;

	/** Retorna a lista de parametros */
	public List<Object> getListaParametro() {
		return listaParametro;
	}

	/** Define a lista de parametros */
	public void setListaParametro(List<Object> listaParametro){
		this.listaParametro = listaParametro;
	}
	
	/** Adiciona um parametro a lista de ações */
	public void addParametro(Object parametro) {
		if(listaParametro == null){
			listaParametro = new ArrayList<Object>();
		}
		this.listaParametro.add(parametro);
	}
	
	/** Retorna o tipo da ação */
	public int getTipoAcao() {
		return tipoAcao;
	}

	/** Define o tipo da ação */
	public void setTipoAcao(Integer tipoAcao) {
		this.tipoAcao = tipoAcao;
	}
	
}
